package com.icehand.payment.pay.union;

import lombok.Data;

/**
 * 银联后台通知
 * @author icehand
 */
@Data
public class UnionNotify {
    //----------------------------必定返回------------------
    /**
     * 查询流水号
     *
     */
    private String queryId;

    /**
     * 交易币种,默认156
     */
    private String currencyCode;
    /**
     * 交易传输时间
     * MMDDhhmmss
     */
    private String traceTime;

    /**
     * 签名
     */
    private String signature;

    /**
     * 签名方法
     * 非对称签名： 01（表示采用RSA签名） HASH表示散列算法 11：支持散列方式验证SHA-256 12：支持散列方式验证SM3
     */
    private String signMethod;

    /**
     * 清算币种
     */
    private String settleCurrencyCode;

    /**
     * 清算金额
     */
    private Integer settleAmt;

    /**
     * 清算日期
     */
    private String settleDate;
    /**
     * 系统跟踪号
     */
    private String traceNo;

    /**
     * 应答码
     */
    private Integer respCode;

    /**
     * 应答信息
     */
    private Integer respMsg;

    //---------------------按条件返回-------------------------

    /**
     * 兑换日期
     * 交易成功，交易币种和清算币种不一致的时候返回
     */
    private String exchangeDate;

    /**
     * 签名公钥证书
     * 使用RSA签名方式时必选，此域填写银联签名公钥证书。
     */
    private String signPubKeyCert;

    /**
     * 清算汇率
     * 交易成功，交易币种和清算币种不一致的时候返回
     */
    private String exchangeRate;

    /**
     * 账号
     * 根据商户配置返回
     */
    private String accNo;
    /**
     * 支付方式
     * 根据商户配置返回
     */
    private String payType;

    /**
     * 支付卡标识
     * 移动支付交易时，根据商户配置返回
     */
    private String payCardNo;

    /**
     * 支付卡类型
     * 根据商户配置返回
     */
    private String payCardType;

    /**
     * 支付卡名称
     * 移动支付交易时，根据商户配置返回
     */
    private String payCardIssueName;

    //---------------------------需要返回---------------
    /**
     * 版本号
     */
    private String version;
    /**
     * 绑定标识号
     * 绑定支付时，根据商户配置返回
     */
    private String bindId;
    /**
     * 编码，默认UTF-8
     */
    private String encoding;

    /**
     * 产品类型
     */
    private String bizType;
    /**
     * 订单发送时间
     */
    private String txnTime;
    /**
     * 交易金额
     */
    private String txnAmt;
    /**
     * 交易类型
     */
    private String txnType;
    /**
     * 交易子类
     */
    private String txnSubType;
    /**
     * 接入类型
     */
    private String accessType;
    /**
     * 请求方保留域
     */
    private String reqReserved;
    /**
     * 商户代码
     */
    private String merId;
    /**
     * 商户订单号
     */
    private String orderId;

    //-----------------------------选填-----------------
    /**
     * 保留域
     */
    private String reserved;

    /**
     * 分账域
     */
    private String accSplitData;
}
